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

Makes widgets. Each factory appends the new widget to parent, or makes a root when it is null, and never returns null, except createCustom, whose null shows a custom node's fallback. More...

#include <backend.hpp>

Inheritance diagram for morph::ui::IViewBackend:
morph::qt_quick::Backend morph::tui::Backend morph::ui::testing::RecordingBackend

Public Member Functions

 IViewBackend (IViewBackend const &)=delete
IViewBackend & operator= (IViewBackend const &)=delete
 IViewBackend (IViewBackend &&)=delete
IViewBackend & operator= (IViewBackend &&)=delete
virtual std::unique_ptr< TextWidget > createText (ContainerWidget *parent)=0
 Makes read-only text.
virtual std::unique_ptr< ButtonWidget > createButton (ContainerWidget *parent)=0
 Makes a push button.
virtual std::unique_ptr< TextInputWidget > createTextInput (ContainerWidget *parent, TextInputMode mode)=0
 Makes a text field.
virtual std::unique_ptr< CheckboxWidget > createCheckbox (ContainerWidget *parent)=0
 Makes a check box.
virtual std::unique_ptr< SelectWidget > createSelect (ContainerWidget *parent, SelectStyle style)=0
 Makes a choice of one option.
virtual std::unique_ptr< MenuWidget > createMenu (ContainerWidget *parent)=0
 Makes a command list.
virtual std::unique_ptr< StackWidget > createStack (ContainerWidget *parent, Axis axis)=0
 Makes a stack.
virtual std::unique_ptr< GridWidget > createGrid (ContainerWidget *parent)=0
 Makes a grid.
virtual std::unique_ptr< SpacerWidget > createSpacer (ContainerWidget *parent)=0
 Makes empty space.
virtual std::unique_ptr< PanelWidget > createPanel (ContainerWidget *parent)=0
 Makes a titled frame.
virtual std::unique_ptr< ScrollWidget > createScroll (ContainerWidget *parent, Axis axis)=0
 Makes a scroll area.
virtual std::unique_ptr< SlotWidget > createSlot (ContainerWidget *parent)=0
 Makes a slot.
virtual std::unique_ptr< TabsWidget > createTabs (ContainerWidget *parent)=0
 Makes a tab bar.
virtual std::unique_ptr< DialogWidget > createDialog (ContainerWidget *parent)=0
 Makes a modal overlay.
virtual std::unique_ptr< ToastWidget > createToast (ContainerWidget *parent)=0
 Makes a transient message.
virtual std::unique_ptr< BusyWidget > createBusy (ContainerWidget *parent)=0
 Makes a progress indicator.
virtual std::unique_ptr< TableWidget > createTable (ContainerWidget *parent)=0
 Makes a table.
virtual std::unique_ptr< DateTimeInputWidget > createDateTimeInput (ContainerWidget *parent, DateMode mode, int offsetMinutes)=0
 Makes a date or date-and-time field.
virtual std::unique_ptr< SliderWidget > createSlider (ContainerWidget *parent)=0
 Makes a slider.
virtual std::unique_ptr< FilePickerWidget > createFilePicker (ContainerWidget *parent, FilePickerMode mode)=0
 Makes a file path field.
virtual std::unique_ptr< BannerWidget > createBanner (ContainerWidget *parent)=0
 Makes a banner.
virtual std::unique_ptr< BadgeWidget > createBadge (ContainerWidget *parent)=0
 Makes a badge.
virtual std::unique_ptr< ProgressWidget > createProgress (ContainerWidget *parent)=0
 Makes a progress bar.
virtual std::unique_ptr< StepsWidget > createSteps (ContainerWidget *parent)=0
 Makes a steps indicator.
virtual std::unique_ptr< KeyValueWidget > createKeyValue (ContainerWidget *parent)=0
 Makes a key-value list.
virtual std::unique_ptr< EmptyStateWidget > createEmptyState (ContainerWidget *parent)=0
 Makes an empty state.
virtual std::unique_ptr< DrawerWidget > createDrawer (ContainerWidget *parent, Side side)=0
 Makes a drawer.
virtual std::unique_ptr< SplitterWidget > createSplitter (ContainerWidget *parent, Axis axis)=0
 Makes a splitter.
virtual std::unique_ptr< CollapsibleWidget > createCollapsible (ContainerWidget *parent)=0
 Makes a collapsible section.
virtual std::unique_ptr< DropZoneWidget > createDropZone (ContainerWidget *parent)=0
 Makes a drop zone.
virtual std::unique_ptr< CustomWidget > createCustom (ContainerWidget *parent, CustomRequest const &request)
 Loads the component a custom node names, if this backend can. The only factory that may return null: null means "not loaded", and the mount shows the node's fallback instead. A backend that loads no components keeps this default.

Detailed Description

Makes widgets. Each factory appends the new widget to parent, or makes a root when it is null, and never returns null, except createCustom, whose null shows a custom node's fallback.

Definition at line 810 of file backend.hpp.

Member Function Documentation

◆ createText()

virtual std::unique_ptr< TextWidget > morph::ui::IViewBackend::createText ( ContainerWidget * parent)
nodiscardpure virtual

Makes read-only text.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createButton()

virtual std::unique_ptr< ButtonWidget > morph::ui::IViewBackend::createButton ( ContainerWidget * parent)
nodiscardpure virtual

Makes a push button.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createTextInput()

virtual std::unique_ptr< TextInputWidget > morph::ui::IViewBackend::createTextInput ( ContainerWidget * parent,
TextInputMode mode )
nodiscardpure virtual

Makes a text field.

Parameters
parentThe container to append to, or null for a root.
modeSingle-line, multiline or password.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createCheckbox()

virtual std::unique_ptr< CheckboxWidget > morph::ui::IViewBackend::createCheckbox ( ContainerWidget * parent)
nodiscardpure virtual

Makes a check box.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createSelect()

virtual std::unique_ptr< SelectWidget > morph::ui::IViewBackend::createSelect ( ContainerWidget * parent,
SelectStyle style )
nodiscardpure virtual

Makes a choice of one option.

Parameters
parentThe container to append to, or null for a root.
styleDropdown or radio.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createMenu()

virtual std::unique_ptr< MenuWidget > morph::ui::IViewBackend::createMenu ( ContainerWidget * parent)
nodiscardpure virtual

Makes a command list.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createStack()

virtual std::unique_ptr< StackWidget > morph::ui::IViewBackend::createStack ( ContainerWidget * parent,
Axis axis )
nodiscardpure virtual

Makes a stack.

Parameters
parentThe container to append to, or null for a root.
axisVertical (a column) or horizontal (a row).
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createGrid()

virtual std::unique_ptr< GridWidget > morph::ui::IViewBackend::createGrid ( ContainerWidget * parent)
nodiscardpure virtual

Makes a grid.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createSpacer()

virtual std::unique_ptr< SpacerWidget > morph::ui::IViewBackend::createSpacer ( ContainerWidget * parent)
nodiscardpure virtual

Makes empty space.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createPanel()

virtual std::unique_ptr< PanelWidget > morph::ui::IViewBackend::createPanel ( ContainerWidget * parent)
nodiscardpure virtual

Makes a titled frame.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createScroll()

virtual std::unique_ptr< ScrollWidget > morph::ui::IViewBackend::createScroll ( ContainerWidget * parent,
Axis axis )
nodiscardpure virtual

Makes a scroll area.

Parameters
parentThe container to append to, or null for a root.
axisThe scroll direction.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createSlot()

virtual std::unique_ptr< SlotWidget > morph::ui::IViewBackend::createSlot ( ContainerWidget * parent)
nodiscardpure virtual

Makes a slot.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createTabs()

virtual std::unique_ptr< TabsWidget > morph::ui::IViewBackend::createTabs ( ContainerWidget * parent)
nodiscardpure virtual

Makes a tab bar.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createDialog()

virtual std::unique_ptr< DialogWidget > morph::ui::IViewBackend::createDialog ( ContainerWidget * parent)
nodiscardpure virtual

Makes a modal overlay.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createToast()

virtual std::unique_ptr< ToastWidget > morph::ui::IViewBackend::createToast ( ContainerWidget * parent)
nodiscardpure virtual

Makes a transient message.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createBusy()

virtual std::unique_ptr< BusyWidget > morph::ui::IViewBackend::createBusy ( ContainerWidget * parent)
nodiscardpure virtual

Makes a progress indicator.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createTable()

virtual std::unique_ptr< TableWidget > morph::ui::IViewBackend::createTable ( ContainerWidget * parent)
nodiscardpure virtual

Makes a table.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createDateTimeInput()

virtual std::unique_ptr< DateTimeInputWidget > morph::ui::IViewBackend::createDateTimeInput ( ContainerWidget * parent,
DateMode mode,
int offsetMinutes )
nodiscardpure virtual

Makes a date or date-and-time field.

Parameters
parentThe container to append to, or null for a root.
modeDate, or date and time.
offsetMinutesThe display zone's offset from UTC.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createSlider()

virtual std::unique_ptr< SliderWidget > morph::ui::IViewBackend::createSlider ( ContainerWidget * parent)
nodiscardpure virtual

Makes a slider.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createFilePicker()

virtual std::unique_ptr< FilePickerWidget > morph::ui::IViewBackend::createFilePicker ( ContainerWidget * parent,
FilePickerMode mode )
nodiscardpure virtual

Makes a file path field.

Parameters
parentThe container to append to, or null for a root.
modeOpen or save.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createBanner()

virtual std::unique_ptr< BannerWidget > morph::ui::IViewBackend::createBanner ( ContainerWidget * parent)
nodiscardpure virtual

Makes a banner.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createBadge()

virtual std::unique_ptr< BadgeWidget > morph::ui::IViewBackend::createBadge ( ContainerWidget * parent)
nodiscardpure virtual

Makes a badge.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createProgress()

virtual std::unique_ptr< ProgressWidget > morph::ui::IViewBackend::createProgress ( ContainerWidget * parent)
nodiscardpure virtual

Makes a progress bar.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createSteps()

virtual std::unique_ptr< StepsWidget > morph::ui::IViewBackend::createSteps ( ContainerWidget * parent)
nodiscardpure virtual

Makes a steps indicator.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createKeyValue()

virtual std::unique_ptr< KeyValueWidget > morph::ui::IViewBackend::createKeyValue ( ContainerWidget * parent)
nodiscardpure virtual

Makes a key-value list.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createEmptyState()

virtual std::unique_ptr< EmptyStateWidget > morph::ui::IViewBackend::createEmptyState ( ContainerWidget * parent)
nodiscardpure virtual

Makes an empty state.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createDrawer()

virtual std::unique_ptr< DrawerWidget > morph::ui::IViewBackend::createDrawer ( ContainerWidget * parent,
Side side )
nodiscardpure virtual

Makes a drawer.

Parameters
parentThe container to append to, or null for a root.
sideThe edge it slides in from.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createSplitter()

virtual std::unique_ptr< SplitterWidget > morph::ui::IViewBackend::createSplitter ( ContainerWidget * parent,
Axis axis )
nodiscardpure virtual

Makes a splitter.

Parameters
parentThe container to append to, or null for a root.
axisThe axis its panes are laid out along.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createCollapsible()

virtual std::unique_ptr< CollapsibleWidget > morph::ui::IViewBackend::createCollapsible ( ContainerWidget * parent)
nodiscardpure virtual

Makes a collapsible section.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createDropZone()

virtual std::unique_ptr< DropZoneWidget > morph::ui::IViewBackend::createDropZone ( ContainerWidget * parent)
nodiscardpure virtual

Makes a drop zone.

Parameters
parentThe container to append to, or null for a root.
Returns
The widget.

Implemented in morph::qt_quick::Backend, morph::tui::Backend, and morph::ui::testing::RecordingBackend.

◆ createCustom()

virtual std::unique_ptr< CustomWidget > morph::ui::IViewBackend::createCustom ( ContainerWidget * parent,
CustomRequest const & request )
inlinenodiscardvirtual

Loads the component a custom node names, if this backend can. The only factory that may return null: null means "not loaded", and the mount shows the node's fallback instead. A backend that loads no components keeps this default.

Parameters
parentThe container to append it to; null makes a root.
requestThe component, the props the document declares and the host component's lowest version.
Returns
The component, or null to show the fallback.

Reimplemented in morph::qt_quick::Backend, and morph::ui::testing::RecordingBackend.

Definition at line 988 of file backend.hpp.


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