|
| struct | morph::ui::SlotBinding< F > |
| | A slot's read together with its id, as ui::slot makes it; a Prop made from it is a slot with that id. More...
|
| struct | morph::ui::detail::IsSlotBinding< T > |
| | Whether a type is a SlotBinding: false here, true for the specialisation below. More...
|
| struct | morph::ui::detail::IsSlotBinding< SlotBinding< F > > |
| | A SlotBinding is one. More...
|
| class | morph::ui::Prop< T > |
| | A node property: a constant, or a slot — a reactive read, with a stable id when it was given one. More...
|
| struct | morph::ui::Sizing |
| | How much space a widget asks for along one dimension, in backend units (a character cell on the TUI). More...
|
| struct | morph::ui::LayoutHints |
| | A widget's size request in both dimensions, and the bounds its extent is clamped into. More...
|
| struct | morph::ui::Accessibility |
| | What assistive technology announces for a node. More...
|
| struct | morph::ui::KeyBinding |
| | A keyboard chord a node handles while focus is inside it. More...
|
| struct | morph::ui::Common |
| | The part every node carries: visibility, enablement, layout, drag-and-drop, accessibility, test identity, tooltip, surface, keyboard chords and autofocus. More...
|
| struct | morph::ui::FieldState |
| | The state of a value a user edits or reads: whether it may be changed, must be given, is wrong, or is being recomputed. More...
|
| struct | morph::ui::Text |
| | Static or bound text. More...
|
| struct | morph::ui::Button |
| | A push button. More...
|
| struct | morph::ui::TextInput |
| | An editable text field. The backend never reports its own setText back through onChange. More...
|
| struct | morph::ui::Checkbox |
| | A labelled check box. More...
|
| struct | morph::ui::SelectOption |
| | One option of a Select. More...
|
| struct | morph::ui::Select |
| | A choice of one option. More...
|
| | One entry of a Menu: its label and its handler in one place, so there are no parallel lists. More...
|
| | A vertical list of commands. More...
|
| struct | morph::ui::Column |
| | Children stacked top to bottom. More...
|
| struct | morph::ui::Row |
| | Children laid out left to right. More...
|
| struct | morph::ui::GridCell |
| | One cell of a Grid. More...
|
| struct | morph::ui::Grid |
| | Cells laid out row-major in a fixed number of columns. More...
|
| struct | morph::ui::Spacer |
| | Empty space that takes what its layout hints ask for. More...
|
| struct | morph::ui::Panel |
| | A titled frame around one child; a collapsible one is an accordion section. More...
|
| struct | morph::ui::Scroll |
| | A scrollable viewport around one child. More...
|
| struct | morph::ui::SwitchCase |
| | One case of a Switch. More...
|
| struct | morph::ui::Switch |
| | Shows the case whose key the selector yields; remounts only when that key changes. More...
|
| struct | morph::ui::Tab |
| | One page of Tabs. More...
|
| struct | morph::ui::Tabs |
| | A tab bar over pages. More...
|
| struct | morph::ui::Dialog |
| | A modal overlay; its content is mounted only while it is open. More...
|
| struct | morph::ui::Busy |
| | A progress indicator. More...
|
| class | morph::ui::detail::RowSlot |
| | One mounted row of a ForEach or a Table: the row's signal, and the view built from it once. More...
|
| class | morph::ui::detail::ForEachSession |
| | One mount's use of a ForEach: the latest snapshot of the rows, and a way to make row slots from it. More...
|
| class | morph::ui::detail::ForEachModel |
| | A ForEach's row source, key function and row view, with the row type erased. More...
|
| class | morph::ui::detail::TypedForEach< RowT > |
| | The typed model behind forEach<RowT> and table<RowT>. More...
|
| struct | morph::ui::Virtualization |
| | When a keyed row list realizes a widget only for the rows in or near the visible range, instead of for every row regardless of scroll position. A row's own reactive state (its signal, rebuilt from the session on every change) is unaffected either way and is never released while its key exists; this setting only decides whether a row's mounted widget is also kept alive off-screen. More...
|
| struct | morph::ui::ForEach |
| | One widget per row of a keyed collection, updated in place when a row with the same key changes. More...
|
| struct | morph::ui::TableColumn |
| | One column of a Table. More...
|
| struct | morph::ui::Table |
| | Keyed rows of cells under column headers. Each row's view is a Row whose children are the cells, one per column. More...
|
| struct | morph::ui::DateTimeInput |
| | A date, or a date and time, edited in a display zone and reported as an instant. More...
|
| struct | morph::ui::Slider |
| | An integer chosen on a range. More...
|
| struct | morph::ui::FilePicker |
| | A file path, typed or chosen in the platform's file dialog. More...
|
| struct | morph::ui::ActionButton |
| | A button inside another kind, such as a banner's action: its caption beside its handler. More...
|
| struct | morph::ui::Banner |
| | A message across the top of a region, with an optional action and an optional dismissal. More...
|
| struct | morph::ui::Badge |
| | A short label marking a state, such as a count or a status. More...
|
| struct | morph::ui::Progress |
| | A progress bar. More...
|
| struct | morph::ui::Step |
| | One step of a Steps indicator. More...
|
| struct | morph::ui::Steps |
| | The steps of a process in order, each with its state. More...
|
| struct | morph::ui::KeyValueItem |
| | One row of a KeyValue list. More...
|
| struct | morph::ui::KeyValue |
| | Captions beside their values, one pair per row. More...
|
| struct | morph::ui::EmptyState |
| | What a region shows when it has nothing to show: a title, an explanation and an optional action. More...
|
| struct | morph::ui::Drawer |
| | A panel that slides in from one edge over the content: a Dialog with a side, and the same rules. More...
|
| struct | morph::ui::ActionBar |
| | A row of buttons in the footer of the dialog or drawer whose content holds it: what a document's overlay actions lower to. The mount refuses one anywhere else. More...
|
| struct | morph::ui::Splitter |
| | Panes side by side, or stacked, with handles the user drags to share the space between them. More...
|
| struct | morph::ui::Collapsible |
| | A titled section the user opens and closes. Its header stays usable while it is closed. More...
|
| struct | morph::ui::DropZone |
| | A region that takes files dropped from the operating system. More...
|
| struct | morph::ui::CustomProp |
| | One prop a loaded custom component is given. More...
|
| struct | morph::ui::Custom |
| | A component the backend may load (spec 5 §10), with the built-in nodes shown when it does not. More...
|
| struct | morph::ui::NodeData |
| | What a Node points at: exactly one node kind. More...
|
| struct | morph::ui::TableOptions |
| | Everything about a table beyond its columns and rows. More...
|
| struct | morph::ui::TableRowView |
| | What a table's row view builds for one row: its cells, one per column, and its tone. More...
|
|
| enum class | morph::ui::TextRole : std::uint8_t {
Normal
, Muted
, Heading
, Error
,
Success
, Section
} |
| | How a Text is styled; each backend maps a role to its theme. More...
|
| enum class | morph::ui::TextInputMode : std::uint8_t { SingleLine
, Multiline
, Password
} |
| | How a TextInput edits. More...
|
| enum class | morph::ui::SelectStyle : std::uint8_t { Dropdown
, Radio
} |
| | How a Select presents its options. More...
|
| enum class | morph::ui::Axis : std::uint8_t { Vertical
, Horizontal
} |
| | The direction a stack arranges, or a scroll area scrolls, its content. More...
|
| enum class | morph::ui::DateMode : std::uint8_t { Date
, DateTime
} |
| | What a DateTimeInput edits. More...
|
| enum class | morph::ui::FilePickerMode : std::uint8_t { Open
, Save
} |
| | Whether a FilePicker chooses an existing file or a file to write. More...
|
| enum class | morph::ui::Tone : std::uint8_t {
Neutral
, Info
, Ok
, Warn
,
Err
} |
| | What a message or a mark conveys, mapped to the theme's colours. More...
|
| enum class | morph::ui::Side : std::uint8_t { Start
, End
} |
| | The edge a Drawer slides in from, in reading direction. More...
|
| enum class | morph::ui::StepState : std::uint8_t { Pending
, Active
, Done
, Failed
} |
| | Where one step of a Steps indicator stands. More...
|
| enum class | morph::ui::SelectionMode : std::uint8_t { None
, Single
, Multiple
} |
| | How many rows of a Table the user can select. More...
|
|
| template<typename F> |
| SlotBinding< std::decay_t< F > > | morph::ui::slot (SlotId slotId, F &&read) |
| | A slot with an id.
|
| constexpr int | morph::ui::spacingStep (int value) noexcept |
| | A gap or padding as the spacing step a backend receives.
|
| template<typename Kind> |
| Node | morph::ui::detail::makeNode (Kind spec) |
| | Wraps one node aggregate into a shared node.
|
| Node | morph::ui::text (Text spec) |
| | Static or bound text.
|
| Node | morph::ui::button (Button spec) |
| | A push button.
|
| Node | morph::ui::textInput (TextInput spec) |
| | An editable text field.
|
| Node | morph::ui::checkbox (Checkbox spec) |
| | A labelled check box.
|
| Node | morph::ui::select (Select spec) |
| | A choice of one option.
|
| Node | morph::ui::menu (Menu spec) |
| | A list of commands.
|
| Node | morph::ui::column (Column spec) |
| | Children stacked top to bottom.
|
| Node | morph::ui::row (Row spec) |
| | Children laid out left to right.
|
| Node | morph::ui::grid (Grid spec) |
| | Cells in a fixed number of columns.
|
| Node | morph::ui::spacer (Spacer spec={}) |
| | Empty space.
|
| Node | morph::ui::panel (Panel spec) |
| | A titled frame, optionally collapsible.
|
| Node | morph::ui::scroll (Scroll spec) |
| | A scrollable viewport.
|
| Node | morph::ui::switchOf (Switch spec) |
| | Shows the case the selector picks. Spelled switchOf because switch is a keyword.
|
| Node | morph::ui::tabs (Tabs spec) |
| | A tab bar over pages.
|
| Node | morph::ui::dialog (Dialog spec) |
| | A modal overlay.
|
| Node | morph::ui::busy (Busy spec) |
| | A progress indicator.
|
| Node | morph::ui::dateTimeInput (DateTimeInput spec) |
| | A date or date-and-time field.
|
| Node | morph::ui::slider (Slider spec) |
| | An integer on a range.
|
| Node | morph::ui::filePicker (FilePicker spec) |
| | A file path field.
|
| Node | morph::ui::banner (Banner spec) |
| | A message across the top of a region.
|
| Node | morph::ui::badge (Badge spec) |
| | A short label marking a state.
|
| Node | morph::ui::progress (Progress spec) |
| | A progress bar.
|
| Node | morph::ui::steps (Steps spec) |
| | The steps of a process.
|
| Node | morph::ui::keyValue (KeyValue spec) |
| | Captions beside their values.
|
| Node | morph::ui::emptyState (EmptyState spec) |
| | What a region shows when it has nothing to show.
|
| Node | morph::ui::drawer (Drawer spec) |
| | A panel that slides in from one edge.
|
| Node | morph::ui::actionBar (ActionBar spec) |
| | An action bar node.
|
| Node | morph::ui::splitter (Splitter spec) |
| | Panes with handles the user drags.
|
| Node | morph::ui::collapsible (Collapsible spec) |
| | A titled section the user opens and closes.
|
| Node | morph::ui::dropZone (DropZone spec) |
| | A region that takes dropped files.
|
| Node | morph::ui::custom (Custom spec) |
| | A component loaded by name, mounted by Mounted as its fallback.
|
template<typename E>
requires std::is_enum_v<E> |
| Node | morph::ui::switchOn (std::function< E()> selector, std::vector< std::pair< E, Node > > cases, Node fallback={}) |
| | A Switch over an enumeration: each enumerator becomes the int64 key of its case.
|
| template<typename RowT> |
| Node | morph::ui::forEach (std::function< std::vector< RowT >()> rows, std::function< Key(RowT const &)> keyOf, std::function< Node(reactive::Signal< RowT > const &)> rowView, Axis axis=Axis::Vertical, int gap=0) |
| | One widget per row of a keyed collection read through a binding (a Query's value() included).
|
| template<typename RowT> |
| Node | morph::ui::forEach (reactive::Signal< std::vector< RowT > > const &rows, std::function< Key(RowT const &)> keyOf, std::function< Node(reactive::Signal< RowT > const &)> rowView, Axis axis=Axis::Vertical, int gap=0) |
| | One widget per row of a keyed collection held in a signal.
|
| template<typename RowT> |
| Node | morph::ui::table (std::vector< TableColumn > columns, std::function< std::vector< RowT >()> rows, std::function< Key(RowT const &)> keyOf, std::function< std::vector< Node >(reactive::Signal< RowT > const &)> cells, TableOptions options={}) |
| | A table of keyed rows: one Row of cells per row, under the column headers.
|
| template<typename RowT> |
| Node | morph::ui::table (std::vector< TableColumn > columns, std::function< std::vector< RowT >()> rows, std::function< Key(RowT const &)> keyOf, std::function< TableRowView(reactive::Signal< RowT > const &)> rowView, TableOptions options={}) |
| | A table of keyed rows whose row view gives each row its tone as well as its cells.
|
The toolkit-agnostic view tree: props, node kinds and their builders.
Specified in docs/spec/ui/view_tree.md.
Definition in file view.hpp.