10#include "../attributes.hpp"
21namespace morph::qt_quick {
60 Backend(QQmlEngine& engine MORPH_LIFETIMEBOUND, QQuickItem& host MORPH_LIFETIMEBOUND,
BackendOptions options = {});
124 int offsetMinutes)
override;
153 std::unique_ptr<detail::Context> _context;
std::unique_ptr< ui::SelectWidget > createSelect(ui::ContainerWidget *parent, ui::SelectStyle style) override
Makes a choice of one option.
static QQuickItem * itemOf(ui::Widget const &widget) noexcept
The Qt Quick item a widget of this backend shows.
std::unique_ptr< ui::FilePickerWidget > createFilePicker(ui::ContainerWidget *parent, ui::FilePickerMode mode) override
Makes a file path field.
std::unique_ptr< ui::ProgressWidget > createProgress(ui::ContainerWidget *parent) override
Makes a progress bar.
std::unique_ptr< ui::KeyValueWidget > createKeyValue(ui::ContainerWidget *parent) override
Makes a key-value list.
std::unique_ptr< ui::MenuWidget > createMenu(ui::ContainerWidget *parent) override
Makes a command list.
std::unique_ptr< ui::ScrollWidget > createScroll(ui::ContainerWidget *parent, ui::Axis axis) override
Makes a scroll area.
std::unique_ptr< ui::GridWidget > createGrid(ui::ContainerWidget *parent) override
Makes a grid.
std::unique_ptr< CustomWidget > createCustom(ui::ContainerWidget *parent, CustomRequest const &request) override
Loads a custom component by name.
std::unique_ptr< ui::TextInputWidget > createTextInput(ui::ContainerWidget *parent, ui::TextInputMode mode) override
Makes a text field.
std::unique_ptr< ui::EmptyStateWidget > createEmptyState(ui::ContainerWidget *parent) override
Makes an empty state.
std::unique_ptr< ui::SplitterWidget > createSplitter(ui::ContainerWidget *parent, ui::Axis axis) override
Makes a splitter.
std::unique_ptr< ui::PanelWidget > createPanel(ui::ContainerWidget *parent) override
Makes a titled frame.
std::unique_ptr< ui::DropZoneWidget > createDropZone(ui::ContainerWidget *parent) override
Makes a drop zone.
std::unique_ptr< ui::CollapsibleWidget > createCollapsible(ui::ContainerWidget *parent) override
Makes a collapsible section.
std::unique_ptr< ui::DateTimeInputWidget > createDateTimeInput(ui::ContainerWidget *parent, ui::DateMode mode, int offsetMinutes) override
Makes a date or date-and-time field.
std::unique_ptr< ui::SlotWidget > createSlot(ui::ContainerWidget *parent) override
Makes a slot.
Backend(QQmlEngine &engine, QQuickItem &host, BackendOptions options={})
A backend whose roots fill host.
std::unique_ptr< ui::BadgeWidget > createBadge(ui::ContainerWidget *parent) override
Makes a badge.
~Backend() override
Removes the roots' column from the host.
std::unique_ptr< ui::SpacerWidget > createSpacer(ui::ContainerWidget *parent) override
Makes empty space.
std::unique_ptr< ui::CheckboxWidget > createCheckbox(ui::ContainerWidget *parent) override
Makes a check box.
std::unique_ptr< ui::ToastWidget > createToast(ui::ContainerWidget *parent) override
Makes a transient message.
std::unique_ptr< ui::BusyWidget > createBusy(ui::ContainerWidget *parent) override
Makes a progress indicator.
std::unique_ptr< ui::BannerWidget > createBanner(ui::ContainerWidget *parent) override
Makes a banner.
std::unique_ptr< ui::DialogWidget > createDialog(ui::ContainerWidget *parent) override
Makes a modal overlay.
std::unique_ptr< ui::StepsWidget > createSteps(ui::ContainerWidget *parent) override
Makes a steps indicator.
std::unique_ptr< ui::SliderWidget > createSlider(ui::ContainerWidget *parent) override
Makes a slider.
std::unique_ptr< ui::StackWidget > createStack(ui::ContainerWidget *parent, ui::Axis axis) override
Makes a stack.
std::unique_ptr< ui::TabsWidget > createTabs(ui::ContainerWidget *parent) override
Makes a tab bar.
std::unique_ptr< ui::ButtonWidget > createButton(ui::ContainerWidget *parent) override
Makes a push button.
std::unique_ptr< ui::DrawerWidget > createDrawer(ui::ContainerWidget *parent, ui::Side side) override
Makes a drawer.
std::unique_ptr< ui::TableWidget > createTable(ui::ContainerWidget *parent) override
Makes a table.
std::unique_ptr< ui::TextWidget > createText(ui::ContainerWidget *parent) override
Makes read-only text.
The QML components a client renders beside the built-in kinds (spec 5 §10).
Makes widgets. Each factory appends the new widget to parent, or makes a root when it is null,...
std::string widthClassOf(double logicalWidth)
The window width class {"env": "widthClass"} reads (spec 3 §8).
What a Backend is made with beside its engine and host item.
Components * components
The restyle map and the custom components; null renders every kind with its MorphUi component and loa...
std::function< void(std::string const &widthClass)> onWidthClass
Called with the host item's width class (widthClassOf) once at construction and again each time the c...
What IViewBackend::createCustom asks for.
The backend contract: the retained widgets a mount drives, and the factory that makes them.
TextInputMode
How a TextInput edits.
DateMode
What a DateTimeInput edits.
Side
The edge a Drawer slides in from, in reading direction.
FilePickerMode
Whether a FilePicker chooses an existing file or a file to write.
SelectStyle
How a Select presents its options.
Axis
The direction a stack arranges, or a scroll area scrolls, its content.