morph 0.1.0
Asynchronous bridge between GUI thread and business models
Loading...
Searching...
No Matches
workspace_model.hpp File Reference

The workspace's tab logic with no widgets (spec 6 §7, §15): what an application's own tab strip binds to, and what ui::Workspace draws as a tab bar. More...

#include <algorithm>
#include <chrono>
#include <compare>
#include <cstddef>
#include <cstdint>
#include <exception>
#include <expected>
#include <functional>
#include <memory>
#include <optional>
#include <stdexcept>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
#include "../attributes.hpp"
#include "../reactive/runtime.hpp"
#include "../reactive/scheduler.hpp"
#include "../reactive/scope.hpp"
#include "../reactive/signal.hpp"
#include "host.hpp"
#include "route.hpp"
#include "value.hpp"

Go to the source code of this file.

Classes

struct  morph::ui::WorkspaceScreen
 What the shell needs to know of one screen id: the catalog's singleton and reuseEmpty. More...
struct  morph::ui::WorkspaceStart
 How a workspace starts (spec 6 §7, app-start). More...
struct  morph::ui::WorkspaceOptions
 How a workspace treats screens. More...
struct  morph::ui::WorkspaceTabId
 A tab's identity in a WorkspaceModel: issued when it opens, never reused. More...
struct  morph::ui::WorkspaceTabState
 One open tab, as an application's tab strip binds to it. More...
struct  morph::ui::WorkspaceModelOptions
 A WorkspaceModel's options: the workspace's, and how a tab's page is made and unmade. More...
class  morph::ui::WorkspaceModel
 The workspace's tabs with no widgets: which screens are open, in which order, which is active, and how they open, close and are recorded (spec 6 §7, §15). More...

Detailed Description

The workspace's tab logic with no widgets (spec 6 §7, §15): what an application's own tab strip binds to, and what ui::Workspace draws as a tab bar.

Specified in docs/spec/ui/workspace.md, "Model".

Definition in file workspace_model.hpp.