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

The workspace shell (spec 6 §7, §15): tabs over screens, mounted through a DocumentScreenHost. More...

#include <algorithm>
#include <chrono>
#include <cstddef>
#include <cstdint>
#include <expected>
#include <functional>
#include <map>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
#include "../reactive/runtime.hpp"
#include "../reactive/scheduler.hpp"
#include "../reactive/scope.hpp"
#include "backend.hpp"
#include "host.hpp"
#include "mount.hpp"
#include "route.hpp"
#include "value.hpp"
#include "view.hpp"
#include "workspace_model.hpp"

Go to the source code of this file.

Classes

struct  morph::ui::WorkspaceTab
 One open tab, as an application's tab menu or a test reads it. More...
class  morph::ui::Workspace
 Tabs over screens: a tab bar over a WorkspaceModel, one screen instance per tab, mounted into the tab's page through DocumentScreenHost::mountInto, with the screen's head row above it or, when the placement is External, mounted by the host instead. More...

Enumerations

enum class  morph::ui::HeadPlacement : std::uint8_t { InPage , External }
 Where a workspace draws the active screen's head row. More...

Detailed Description

The workspace shell (spec 6 §7, §15): tabs over screens, mounted through a DocumentScreenHost.

Specified in docs/spec/ui/workspace.md.

Definition in file workspace.hpp.

Enumeration Type Documentation

◆ HeadPlacement

enum class morph::ui::HeadPlacement : std::uint8_t
strong

Where a workspace draws the active screen's head row.

Enumerator
InPage 

Above each page, inside the workspace.

External 

Nowhere: the host mounts headRowForActive() where it chooses, and a page holds only its screen.

Definition at line 47 of file workspace.hpp.