|
morph 0.1.0
Asynchronous bridge between GUI thread and business models
|
A retained widget. A new widget is visible, enabled, content-sized, not draggable and not a drop target. More...
#include <backend.hpp>
Public Member Functions | |
| 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. | |
A retained widget. A new widget is visible, enabled, content-sized, not draggable and not a drop target.
Its destructor detaches it from its parent and frees its native resources; no handler of the widget runs after the destructor returns. A handler may destroy its own widget: the backend keeps the handler alive until that call returns, for example by calling a copy. A backend may assume a handler, a drop's accepts predicate included, never throws: the mount catches and reports what one throws. Every setter takes UTF-8.
A setter called with the value the widget already shows changes nothing: a text input keeps its cursor, its selection and an input method's composition. Input widgets are controlled: a user's action changes what the widget shows, as the toolkit does, and reports the request through the handler; the mount then shows what the application's slot says, in a turn posted after the request's flush, so a refused request snaps back.
Definition at line 34 of file backend.hpp.
|
pure virtual |
Shows or hides the widget and everything inside it.
| visible | Whether it is shown. |
Implemented in morph::ui::testing::detail::FakeLeaf< BadgeWidget >, morph::ui::testing::detail::FakeLeaf< BannerWidget >, morph::ui::testing::detail::FakeLeaf< BusyWidget >, morph::ui::testing::detail::FakeLeaf< ButtonWidget >, morph::ui::testing::detail::FakeLeaf< CheckboxWidget >, morph::ui::testing::detail::FakeLeaf< CollapsibleWidget >, morph::ui::testing::detail::FakeLeaf< CustomWidget >, morph::ui::testing::detail::FakeLeaf< DateTimeInputWidget >, morph::ui::testing::detail::FakeLeaf< DialogWidget >, morph::ui::testing::detail::FakeLeaf< DrawerWidget >, morph::ui::testing::detail::FakeLeaf< DropZoneWidget >, morph::ui::testing::detail::FakeLeaf< EmptyStateWidget >, morph::ui::testing::detail::FakeLeaf< FilePickerWidget >, morph::ui::testing::detail::FakeLeaf< GridWidget >, morph::ui::testing::detail::FakeLeaf< KeyValueWidget >, morph::ui::testing::detail::FakeLeaf< MenuWidget >, morph::ui::testing::detail::FakeLeaf< morph::ui::SlotWidget >, morph::ui::testing::detail::FakeLeaf< PanelWidget >, morph::ui::testing::detail::FakeLeaf< ProgressWidget >, morph::ui::testing::detail::FakeLeaf< SelectWidget >, morph::ui::testing::detail::FakeLeaf< SliderWidget >, morph::ui::testing::detail::FakeLeaf< SplitterWidget >, morph::ui::testing::detail::FakeLeaf< StackWidget >, morph::ui::testing::detail::FakeLeaf< StepsWidget >, morph::ui::testing::detail::FakeLeaf< TableWidget >, morph::ui::testing::detail::FakeLeaf< TabsWidget >, morph::ui::testing::detail::FakeLeaf< TextInputWidget >, morph::ui::testing::detail::FakeLeaf< TextWidget >, and morph::ui::testing::detail::FakeLeaf< ToastWidget >.
|
pure virtual |
Enables or disables input on the widget and everything inside it.
| enabled | Whether it accepts input. |
Implemented in morph::ui::testing::detail::FakeLeaf< BadgeWidget >, morph::ui::testing::detail::FakeLeaf< BannerWidget >, morph::ui::testing::detail::FakeLeaf< BusyWidget >, morph::ui::testing::detail::FakeLeaf< ButtonWidget >, morph::ui::testing::detail::FakeLeaf< CheckboxWidget >, morph::ui::testing::detail::FakeLeaf< CollapsibleWidget >, morph::ui::testing::detail::FakeLeaf< CustomWidget >, morph::ui::testing::detail::FakeLeaf< DateTimeInputWidget >, morph::ui::testing::detail::FakeLeaf< DialogWidget >, morph::ui::testing::detail::FakeLeaf< DrawerWidget >, morph::ui::testing::detail::FakeLeaf< DropZoneWidget >, morph::ui::testing::detail::FakeLeaf< EmptyStateWidget >, morph::ui::testing::detail::FakeLeaf< FilePickerWidget >, morph::ui::testing::detail::FakeLeaf< GridWidget >, morph::ui::testing::detail::FakeLeaf< KeyValueWidget >, morph::ui::testing::detail::FakeLeaf< MenuWidget >, morph::ui::testing::detail::FakeLeaf< morph::ui::SlotWidget >, morph::ui::testing::detail::FakeLeaf< PanelWidget >, morph::ui::testing::detail::FakeLeaf< ProgressWidget >, morph::ui::testing::detail::FakeLeaf< SelectWidget >, morph::ui::testing::detail::FakeLeaf< SliderWidget >, morph::ui::testing::detail::FakeLeaf< SplitterWidget >, morph::ui::testing::detail::FakeLeaf< StackWidget >, morph::ui::testing::detail::FakeLeaf< StepsWidget >, morph::ui::testing::detail::FakeLeaf< TableWidget >, morph::ui::testing::detail::FakeLeaf< TabsWidget >, morph::ui::testing::detail::FakeLeaf< TextInputWidget >, morph::ui::testing::detail::FakeLeaf< TextWidget >, and morph::ui::testing::detail::FakeLeaf< ToastWidget >.
|
pure virtual |
Sets the size request.
| hints | The request in both dimensions. |
Implemented in morph::ui::testing::detail::FakeLeaf< BadgeWidget >, morph::ui::testing::detail::FakeLeaf< BannerWidget >, morph::ui::testing::detail::FakeLeaf< BusyWidget >, morph::ui::testing::detail::FakeLeaf< ButtonWidget >, morph::ui::testing::detail::FakeLeaf< CheckboxWidget >, morph::ui::testing::detail::FakeLeaf< CollapsibleWidget >, morph::ui::testing::detail::FakeLeaf< CustomWidget >, morph::ui::testing::detail::FakeLeaf< DateTimeInputWidget >, morph::ui::testing::detail::FakeLeaf< DialogWidget >, morph::ui::testing::detail::FakeLeaf< DrawerWidget >, morph::ui::testing::detail::FakeLeaf< DropZoneWidget >, morph::ui::testing::detail::FakeLeaf< EmptyStateWidget >, morph::ui::testing::detail::FakeLeaf< FilePickerWidget >, morph::ui::testing::detail::FakeLeaf< GridWidget >, morph::ui::testing::detail::FakeLeaf< KeyValueWidget >, morph::ui::testing::detail::FakeLeaf< MenuWidget >, morph::ui::testing::detail::FakeLeaf< morph::ui::SlotWidget >, morph::ui::testing::detail::FakeLeaf< PanelWidget >, morph::ui::testing::detail::FakeLeaf< ProgressWidget >, morph::ui::testing::detail::FakeLeaf< SelectWidget >, morph::ui::testing::detail::FakeLeaf< SliderWidget >, morph::ui::testing::detail::FakeLeaf< SplitterWidget >, morph::ui::testing::detail::FakeLeaf< StackWidget >, morph::ui::testing::detail::FakeLeaf< StepsWidget >, morph::ui::testing::detail::FakeLeaf< TableWidget >, morph::ui::testing::detail::FakeLeaf< TabsWidget >, morph::ui::testing::detail::FakeLeaf< TextInputWidget >, morph::ui::testing::detail::FakeLeaf< TextWidget >, and morph::ui::testing::detail::FakeLeaf< ToastWidget >.
|
pure virtual |
Makes the widget draggable, carrying key, or not draggable.
| key | Engaged: the key a drop delivers. nullopt: not draggable. |
Implemented in morph::ui::testing::detail::FakeLeaf< BadgeWidget >, morph::ui::testing::detail::FakeLeaf< BannerWidget >, morph::ui::testing::detail::FakeLeaf< BusyWidget >, morph::ui::testing::detail::FakeLeaf< ButtonWidget >, morph::ui::testing::detail::FakeLeaf< CheckboxWidget >, morph::ui::testing::detail::FakeLeaf< CollapsibleWidget >, morph::ui::testing::detail::FakeLeaf< CustomWidget >, morph::ui::testing::detail::FakeLeaf< DateTimeInputWidget >, morph::ui::testing::detail::FakeLeaf< DialogWidget >, morph::ui::testing::detail::FakeLeaf< DrawerWidget >, morph::ui::testing::detail::FakeLeaf< DropZoneWidget >, morph::ui::testing::detail::FakeLeaf< EmptyStateWidget >, morph::ui::testing::detail::FakeLeaf< FilePickerWidget >, morph::ui::testing::detail::FakeLeaf< GridWidget >, morph::ui::testing::detail::FakeLeaf< KeyValueWidget >, morph::ui::testing::detail::FakeLeaf< MenuWidget >, morph::ui::testing::detail::FakeLeaf< morph::ui::SlotWidget >, morph::ui::testing::detail::FakeLeaf< PanelWidget >, morph::ui::testing::detail::FakeLeaf< ProgressWidget >, morph::ui::testing::detail::FakeLeaf< SelectWidget >, morph::ui::testing::detail::FakeLeaf< SliderWidget >, morph::ui::testing::detail::FakeLeaf< SplitterWidget >, morph::ui::testing::detail::FakeLeaf< StackWidget >, morph::ui::testing::detail::FakeLeaf< StepsWidget >, morph::ui::testing::detail::FakeLeaf< TableWidget >, morph::ui::testing::detail::FakeLeaf< TabsWidget >, morph::ui::testing::detail::FakeLeaf< TextInputWidget >, morph::ui::testing::detail::FakeLeaf< TextWidget >, and morph::ui::testing::detail::FakeLeaf< ToastWidget >.
|
pure virtual |
Makes the widget a drop target.
| accepts | Whether a dragged key may be dropped here; the backend asks before highlighting. |
| onDrop | Called with the key on a drop that accepts allowed. |
Implemented in morph::ui::testing::detail::FakeLeaf< BadgeWidget >, morph::ui::testing::detail::FakeLeaf< BannerWidget >, morph::ui::testing::detail::FakeLeaf< BusyWidget >, morph::ui::testing::detail::FakeLeaf< ButtonWidget >, morph::ui::testing::detail::FakeLeaf< CheckboxWidget >, morph::ui::testing::detail::FakeLeaf< CollapsibleWidget >, morph::ui::testing::detail::FakeLeaf< CustomWidget >, morph::ui::testing::detail::FakeLeaf< DateTimeInputWidget >, morph::ui::testing::detail::FakeLeaf< DialogWidget >, morph::ui::testing::detail::FakeLeaf< DrawerWidget >, morph::ui::testing::detail::FakeLeaf< DropZoneWidget >, morph::ui::testing::detail::FakeLeaf< EmptyStateWidget >, morph::ui::testing::detail::FakeLeaf< FilePickerWidget >, morph::ui::testing::detail::FakeLeaf< GridWidget >, morph::ui::testing::detail::FakeLeaf< KeyValueWidget >, morph::ui::testing::detail::FakeLeaf< MenuWidget >, morph::ui::testing::detail::FakeLeaf< morph::ui::SlotWidget >, morph::ui::testing::detail::FakeLeaf< PanelWidget >, morph::ui::testing::detail::FakeLeaf< ProgressWidget >, morph::ui::testing::detail::FakeLeaf< SelectWidget >, morph::ui::testing::detail::FakeLeaf< SliderWidget >, morph::ui::testing::detail::FakeLeaf< SplitterWidget >, morph::ui::testing::detail::FakeLeaf< StackWidget >, morph::ui::testing::detail::FakeLeaf< StepsWidget >, morph::ui::testing::detail::FakeLeaf< TableWidget >, morph::ui::testing::detail::FakeLeaf< TabsWidget >, morph::ui::testing::detail::FakeLeaf< TextInputWidget >, morph::ui::testing::detail::FakeLeaf< TextWidget >, and morph::ui::testing::detail::FakeLeaf< ToastWidget >.
|
pure virtual |
Sets the name assistive technology reads for the widget.
| name | The accessible name; empty leaves the widget's own text as its name. |
Implemented in morph::ui::testing::detail::FakeLeaf< BadgeWidget >, morph::ui::testing::detail::FakeLeaf< BannerWidget >, morph::ui::testing::detail::FakeLeaf< BusyWidget >, morph::ui::testing::detail::FakeLeaf< ButtonWidget >, morph::ui::testing::detail::FakeLeaf< CheckboxWidget >, morph::ui::testing::detail::FakeLeaf< CollapsibleWidget >, morph::ui::testing::detail::FakeLeaf< CustomWidget >, morph::ui::testing::detail::FakeLeaf< DateTimeInputWidget >, morph::ui::testing::detail::FakeLeaf< DialogWidget >, morph::ui::testing::detail::FakeLeaf< DrawerWidget >, morph::ui::testing::detail::FakeLeaf< DropZoneWidget >, morph::ui::testing::detail::FakeLeaf< EmptyStateWidget >, morph::ui::testing::detail::FakeLeaf< FilePickerWidget >, morph::ui::testing::detail::FakeLeaf< GridWidget >, morph::ui::testing::detail::FakeLeaf< KeyValueWidget >, morph::ui::testing::detail::FakeLeaf< MenuWidget >, morph::ui::testing::detail::FakeLeaf< morph::ui::SlotWidget >, morph::ui::testing::detail::FakeLeaf< PanelWidget >, morph::ui::testing::detail::FakeLeaf< ProgressWidget >, morph::ui::testing::detail::FakeLeaf< SelectWidget >, morph::ui::testing::detail::FakeLeaf< SliderWidget >, morph::ui::testing::detail::FakeLeaf< SplitterWidget >, morph::ui::testing::detail::FakeLeaf< StackWidget >, morph::ui::testing::detail::FakeLeaf< StepsWidget >, morph::ui::testing::detail::FakeLeaf< TableWidget >, morph::ui::testing::detail::FakeLeaf< TabsWidget >, morph::ui::testing::detail::FakeLeaf< TextInputWidget >, morph::ui::testing::detail::FakeLeaf< TextWidget >, and morph::ui::testing::detail::FakeLeaf< ToastWidget >.
|
pure virtual |
Sets the role assistive technology announces for the widget.
| role | The role, such as "heading"; empty leaves the kind's own role. |
Implemented in morph::ui::testing::detail::FakeLeaf< BadgeWidget >, morph::ui::testing::detail::FakeLeaf< BannerWidget >, morph::ui::testing::detail::FakeLeaf< BusyWidget >, morph::ui::testing::detail::FakeLeaf< ButtonWidget >, morph::ui::testing::detail::FakeLeaf< CheckboxWidget >, morph::ui::testing::detail::FakeLeaf< CollapsibleWidget >, morph::ui::testing::detail::FakeLeaf< CustomWidget >, morph::ui::testing::detail::FakeLeaf< DateTimeInputWidget >, morph::ui::testing::detail::FakeLeaf< DialogWidget >, morph::ui::testing::detail::FakeLeaf< DrawerWidget >, morph::ui::testing::detail::FakeLeaf< DropZoneWidget >, morph::ui::testing::detail::FakeLeaf< EmptyStateWidget >, morph::ui::testing::detail::FakeLeaf< FilePickerWidget >, morph::ui::testing::detail::FakeLeaf< GridWidget >, morph::ui::testing::detail::FakeLeaf< KeyValueWidget >, morph::ui::testing::detail::FakeLeaf< MenuWidget >, morph::ui::testing::detail::FakeLeaf< morph::ui::SlotWidget >, morph::ui::testing::detail::FakeLeaf< PanelWidget >, morph::ui::testing::detail::FakeLeaf< ProgressWidget >, morph::ui::testing::detail::FakeLeaf< SelectWidget >, morph::ui::testing::detail::FakeLeaf< SliderWidget >, morph::ui::testing::detail::FakeLeaf< SplitterWidget >, morph::ui::testing::detail::FakeLeaf< StackWidget >, morph::ui::testing::detail::FakeLeaf< StepsWidget >, morph::ui::testing::detail::FakeLeaf< TableWidget >, morph::ui::testing::detail::FakeLeaf< TabsWidget >, morph::ui::testing::detail::FakeLeaf< TextInputWidget >, morph::ui::testing::detail::FakeLeaf< TextWidget >, and morph::ui::testing::detail::FakeLeaf< ToastWidget >.
|
pure virtual |
Sets the stable identifier an automated test finds the widget by.
| testId | The identifier; empty means none. |
Implemented in morph::ui::testing::detail::FakeLeaf< BadgeWidget >, morph::ui::testing::detail::FakeLeaf< BannerWidget >, morph::ui::testing::detail::FakeLeaf< BusyWidget >, morph::ui::testing::detail::FakeLeaf< ButtonWidget >, morph::ui::testing::detail::FakeLeaf< CheckboxWidget >, morph::ui::testing::detail::FakeLeaf< CollapsibleWidget >, morph::ui::testing::detail::FakeLeaf< CustomWidget >, morph::ui::testing::detail::FakeLeaf< DateTimeInputWidget >, morph::ui::testing::detail::FakeLeaf< DialogWidget >, morph::ui::testing::detail::FakeLeaf< DrawerWidget >, morph::ui::testing::detail::FakeLeaf< DropZoneWidget >, morph::ui::testing::detail::FakeLeaf< EmptyStateWidget >, morph::ui::testing::detail::FakeLeaf< FilePickerWidget >, morph::ui::testing::detail::FakeLeaf< GridWidget >, morph::ui::testing::detail::FakeLeaf< KeyValueWidget >, morph::ui::testing::detail::FakeLeaf< MenuWidget >, morph::ui::testing::detail::FakeLeaf< morph::ui::SlotWidget >, morph::ui::testing::detail::FakeLeaf< PanelWidget >, morph::ui::testing::detail::FakeLeaf< ProgressWidget >, morph::ui::testing::detail::FakeLeaf< SelectWidget >, morph::ui::testing::detail::FakeLeaf< SliderWidget >, morph::ui::testing::detail::FakeLeaf< SplitterWidget >, morph::ui::testing::detail::FakeLeaf< StackWidget >, morph::ui::testing::detail::FakeLeaf< StepsWidget >, morph::ui::testing::detail::FakeLeaf< TableWidget >, morph::ui::testing::detail::FakeLeaf< TabsWidget >, morph::ui::testing::detail::FakeLeaf< TextInputWidget >, morph::ui::testing::detail::FakeLeaf< TextWidget >, and morph::ui::testing::detail::FakeLeaf< ToastWidget >.
|
pure virtual |
Sets the text shown while the pointer rests on the widget.
| text | The tooltip; empty shows none. |
Implemented in morph::ui::testing::detail::FakeLeaf< BadgeWidget >, morph::ui::testing::detail::FakeLeaf< BannerWidget >, morph::ui::testing::detail::FakeLeaf< BusyWidget >, morph::ui::testing::detail::FakeLeaf< ButtonWidget >, morph::ui::testing::detail::FakeLeaf< CheckboxWidget >, morph::ui::testing::detail::FakeLeaf< CollapsibleWidget >, morph::ui::testing::detail::FakeLeaf< CustomWidget >, morph::ui::testing::detail::FakeLeaf< DateTimeInputWidget >, morph::ui::testing::detail::FakeLeaf< DialogWidget >, morph::ui::testing::detail::FakeLeaf< DrawerWidget >, morph::ui::testing::detail::FakeLeaf< DropZoneWidget >, morph::ui::testing::detail::FakeLeaf< EmptyStateWidget >, morph::ui::testing::detail::FakeLeaf< FilePickerWidget >, morph::ui::testing::detail::FakeLeaf< GridWidget >, morph::ui::testing::detail::FakeLeaf< KeyValueWidget >, morph::ui::testing::detail::FakeLeaf< MenuWidget >, morph::ui::testing::detail::FakeLeaf< morph::ui::SlotWidget >, morph::ui::testing::detail::FakeLeaf< PanelWidget >, morph::ui::testing::detail::FakeLeaf< ProgressWidget >, morph::ui::testing::detail::FakeLeaf< SelectWidget >, morph::ui::testing::detail::FakeLeaf< SliderWidget >, morph::ui::testing::detail::FakeLeaf< SplitterWidget >, morph::ui::testing::detail::FakeLeaf< StackWidget >, morph::ui::testing::detail::FakeLeaf< StepsWidget >, morph::ui::testing::detail::FakeLeaf< TableWidget >, morph::ui::testing::detail::FakeLeaf< TabsWidget >, morph::ui::testing::detail::FakeLeaf< TextInputWidget >, morph::ui::testing::detail::FakeLeaf< TextWidget >, and morph::ui::testing::detail::FakeLeaf< ToastWidget >.
|
pure virtual |
Styles the widget and everything inside it with a named token set of the theme.
| surface | The surface's name; empty is the theme's default. |
Implemented in morph::ui::testing::detail::FakeLeaf< BadgeWidget >, morph::ui::testing::detail::FakeLeaf< BannerWidget >, morph::ui::testing::detail::FakeLeaf< BusyWidget >, morph::ui::testing::detail::FakeLeaf< ButtonWidget >, morph::ui::testing::detail::FakeLeaf< CheckboxWidget >, morph::ui::testing::detail::FakeLeaf< CollapsibleWidget >, morph::ui::testing::detail::FakeLeaf< CustomWidget >, morph::ui::testing::detail::FakeLeaf< DateTimeInputWidget >, morph::ui::testing::detail::FakeLeaf< DialogWidget >, morph::ui::testing::detail::FakeLeaf< DrawerWidget >, morph::ui::testing::detail::FakeLeaf< DropZoneWidget >, morph::ui::testing::detail::FakeLeaf< EmptyStateWidget >, morph::ui::testing::detail::FakeLeaf< FilePickerWidget >, morph::ui::testing::detail::FakeLeaf< GridWidget >, morph::ui::testing::detail::FakeLeaf< KeyValueWidget >, morph::ui::testing::detail::FakeLeaf< MenuWidget >, morph::ui::testing::detail::FakeLeaf< morph::ui::SlotWidget >, morph::ui::testing::detail::FakeLeaf< PanelWidget >, morph::ui::testing::detail::FakeLeaf< ProgressWidget >, morph::ui::testing::detail::FakeLeaf< SelectWidget >, morph::ui::testing::detail::FakeLeaf< SliderWidget >, morph::ui::testing::detail::FakeLeaf< SplitterWidget >, morph::ui::testing::detail::FakeLeaf< StackWidget >, morph::ui::testing::detail::FakeLeaf< StepsWidget >, morph::ui::testing::detail::FakeLeaf< TableWidget >, morph::ui::testing::detail::FakeLeaf< TabsWidget >, morph::ui::testing::detail::FakeLeaf< TextInputWidget >, morph::ui::testing::detail::FakeLeaf< TextWidget >, and morph::ui::testing::detail::FakeLeaf< ToastWidget >.
|
pure virtual |
Declares the keyboard chords the widget handles while focus is inside it.
A chord pressed while focus is inside several widgets that declare it goes to the innermost of them only.
| chords | The chords, each modifiers joined to a key name, such as "Ctrl+S". |
| onChord | Called with the chord that was pressed. |
Implemented in morph::ui::testing::detail::FakeLeaf< BadgeWidget >, morph::ui::testing::detail::FakeLeaf< BannerWidget >, morph::ui::testing::detail::FakeLeaf< BusyWidget >, morph::ui::testing::detail::FakeLeaf< ButtonWidget >, morph::ui::testing::detail::FakeLeaf< CheckboxWidget >, morph::ui::testing::detail::FakeLeaf< CollapsibleWidget >, morph::ui::testing::detail::FakeLeaf< CustomWidget >, morph::ui::testing::detail::FakeLeaf< DateTimeInputWidget >, morph::ui::testing::detail::FakeLeaf< DialogWidget >, morph::ui::testing::detail::FakeLeaf< DrawerWidget >, morph::ui::testing::detail::FakeLeaf< DropZoneWidget >, morph::ui::testing::detail::FakeLeaf< EmptyStateWidget >, morph::ui::testing::detail::FakeLeaf< FilePickerWidget >, morph::ui::testing::detail::FakeLeaf< GridWidget >, morph::ui::testing::detail::FakeLeaf< KeyValueWidget >, morph::ui::testing::detail::FakeLeaf< MenuWidget >, morph::ui::testing::detail::FakeLeaf< morph::ui::SlotWidget >, morph::ui::testing::detail::FakeLeaf< PanelWidget >, morph::ui::testing::detail::FakeLeaf< ProgressWidget >, morph::ui::testing::detail::FakeLeaf< SelectWidget >, morph::ui::testing::detail::FakeLeaf< SliderWidget >, morph::ui::testing::detail::FakeLeaf< SplitterWidget >, morph::ui::testing::detail::FakeLeaf< StackWidget >, morph::ui::testing::detail::FakeLeaf< StepsWidget >, morph::ui::testing::detail::FakeLeaf< TableWidget >, morph::ui::testing::detail::FakeLeaf< TabsWidget >, morph::ui::testing::detail::FakeLeaf< TextInputWidget >, morph::ui::testing::detail::FakeLeaf< TextWidget >, and morph::ui::testing::detail::FakeLeaf< ToastWidget >.
|
pure virtual |
Moves keyboard focus to the widget.
Implemented in morph::ui::testing::detail::FakeLeaf< BadgeWidget >, morph::ui::testing::detail::FakeLeaf< BannerWidget >, morph::ui::testing::detail::FakeLeaf< BusyWidget >, morph::ui::testing::detail::FakeLeaf< ButtonWidget >, morph::ui::testing::detail::FakeLeaf< CheckboxWidget >, morph::ui::testing::detail::FakeLeaf< CollapsibleWidget >, morph::ui::testing::detail::FakeLeaf< CustomWidget >, morph::ui::testing::detail::FakeLeaf< DateTimeInputWidget >, morph::ui::testing::detail::FakeLeaf< DialogWidget >, morph::ui::testing::detail::FakeLeaf< DrawerWidget >, morph::ui::testing::detail::FakeLeaf< DropZoneWidget >, morph::ui::testing::detail::FakeLeaf< EmptyStateWidget >, morph::ui::testing::detail::FakeLeaf< FilePickerWidget >, morph::ui::testing::detail::FakeLeaf< GridWidget >, morph::ui::testing::detail::FakeLeaf< KeyValueWidget >, morph::ui::testing::detail::FakeLeaf< MenuWidget >, morph::ui::testing::detail::FakeLeaf< morph::ui::SlotWidget >, morph::ui::testing::detail::FakeLeaf< PanelWidget >, morph::ui::testing::detail::FakeLeaf< ProgressWidget >, morph::ui::testing::detail::FakeLeaf< SelectWidget >, morph::ui::testing::detail::FakeLeaf< SliderWidget >, morph::ui::testing::detail::FakeLeaf< SplitterWidget >, morph::ui::testing::detail::FakeLeaf< StackWidget >, morph::ui::testing::detail::FakeLeaf< StepsWidget >, morph::ui::testing::detail::FakeLeaf< TableWidget >, morph::ui::testing::detail::FakeLeaf< TabsWidget >, morph::ui::testing::detail::FakeLeaf< TextInputWidget >, morph::ui::testing::detail::FakeLeaf< TextWidget >, and morph::ui::testing::detail::FakeLeaf< ToastWidget >.
|
inlinevirtual |
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.
| onHover | The handler; empty stops calling one. |
Reimplemented in morph::ui::testing::detail::FakeLeaf< BadgeWidget >, morph::ui::testing::detail::FakeLeaf< BannerWidget >, morph::ui::testing::detail::FakeLeaf< BusyWidget >, morph::ui::testing::detail::FakeLeaf< ButtonWidget >, morph::ui::testing::detail::FakeLeaf< CheckboxWidget >, morph::ui::testing::detail::FakeLeaf< CollapsibleWidget >, morph::ui::testing::detail::FakeLeaf< CustomWidget >, morph::ui::testing::detail::FakeLeaf< DateTimeInputWidget >, morph::ui::testing::detail::FakeLeaf< DialogWidget >, morph::ui::testing::detail::FakeLeaf< DrawerWidget >, morph::ui::testing::detail::FakeLeaf< DropZoneWidget >, morph::ui::testing::detail::FakeLeaf< EmptyStateWidget >, morph::ui::testing::detail::FakeLeaf< FilePickerWidget >, morph::ui::testing::detail::FakeLeaf< GridWidget >, morph::ui::testing::detail::FakeLeaf< KeyValueWidget >, morph::ui::testing::detail::FakeLeaf< MenuWidget >, morph::ui::testing::detail::FakeLeaf< morph::ui::SlotWidget >, morph::ui::testing::detail::FakeLeaf< PanelWidget >, morph::ui::testing::detail::FakeLeaf< ProgressWidget >, morph::ui::testing::detail::FakeLeaf< SelectWidget >, morph::ui::testing::detail::FakeLeaf< SliderWidget >, morph::ui::testing::detail::FakeLeaf< SplitterWidget >, morph::ui::testing::detail::FakeLeaf< StackWidget >, morph::ui::testing::detail::FakeLeaf< StepsWidget >, morph::ui::testing::detail::FakeLeaf< TableWidget >, morph::ui::testing::detail::FakeLeaf< TabsWidget >, morph::ui::testing::detail::FakeLeaf< TextInputWidget >, morph::ui::testing::detail::FakeLeaf< TextWidget >, and morph::ui::testing::detail::FakeLeaf< ToastWidget >.
Definition at line 99 of file backend.hpp.