morph 0.1.0
Asynchronous bridge between GUI thread and business models
Loading...
Searching...
No Matches
morph::ui::WorkspaceOptions Struct Reference

How a workspace treats screens. More...

#include <workspace_model.hpp>

Inheritance diagram for morph::ui::WorkspaceOptions:
morph::ui::WorkspaceModelOptions

Public Attributes

std::function< WorkspaceScreen(std::string_view)> screens
 The catalog facts of a screen id; empty treats every screen as plain.
ScreenHostRegistry const * hosts = nullptr
 The host screens a catalog entry's host names. Borrowed; null mounts none.
std::function< void(std::vector< std::string > const &)> onRecord
 Receives the record: the routes of the open tabs, in order, each time the tabs change. A tab with no route (a param with no route form) is left out. Empty writes no record.
reactive::Scheduler * scheduler = nullptr
 When given, a burst of changes writes the record once, recordDelay after the last of them. Borrowed.
std::chrono::milliseconds recordDelay {500}
 The quiet period before the record is written, with a scheduler.
std::function< void()> onChanged
 Called after the open tabs, their titles, unsaved state or identities, or the active tab changed; empty calls nothing.

Detailed Description

How a workspace treats screens.

Definition at line 61 of file workspace_model.hpp.

Member Data Documentation

◆ screens

std::function<WorkspaceScreen(std::string_view)> morph::ui::WorkspaceOptions::screens

The catalog facts of a screen id; empty treats every screen as plain.

Definition at line 63 of file workspace_model.hpp.

◆ hosts

ScreenHostRegistry const* morph::ui::WorkspaceOptions::hosts = nullptr

The host screens a catalog entry's host names. Borrowed; null mounts none.

Definition at line 65 of file workspace_model.hpp.

◆ onRecord

std::function<void(std::vector<std::string> const&)> morph::ui::WorkspaceOptions::onRecord

Receives the record: the routes of the open tabs, in order, each time the tabs change. A tab with no route (a param with no route form) is left out. Empty writes no record.

Definition at line 68 of file workspace_model.hpp.

◆ scheduler

reactive::Scheduler* morph::ui::WorkspaceOptions::scheduler = nullptr

When given, a burst of changes writes the record once, recordDelay after the last of them. Borrowed.

Definition at line 70 of file workspace_model.hpp.

◆ recordDelay

std::chrono::milliseconds morph::ui::WorkspaceOptions::recordDelay {500}

The quiet period before the record is written, with a scheduler.

Definition at line 72 of file workspace_model.hpp.

◆ onChanged

std::function<void()> morph::ui::WorkspaceOptions::onChanged

Called after the open tabs, their titles, unsaved state or identities, or the active tab changed; empty calls nothing.

Definition at line 75 of file workspace_model.hpp.


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