Package-level declarations

Types

Link copied to clipboard
sealed interface ApplicationAction : GuiAction

Actions about the application as a whole (startup, exit), rather than any one page or document.

Link copied to clipboard

How the user resolved a "close a dirty page?" prompt.

Link copied to clipboard

How many solutions a "Solve"/"Next" action should request at once (backs the Solve/Solve 10/Solve 100/Solve all buttons); limit is null for "keep going until exhausted".

Link copied to clipboard
class DefaultGuiController(workspaceConfiguration: WorkspaceConfiguration, baseProfiles: Iterable<SolverProfile>, parentScope: CoroutineScope, extensions: GuiExtensionRegistry = GuiExtensionRegistry(), metadata: ApplicationMetadata = ApplicationMetadata()) : GuiController

Default presentation-independent application controller.

Link copied to clipboard
sealed interface DocumentAction : GuiAction

Actions about one document's lifecycle: editing, saving, and reloading it from its origin.

Link copied to clipboard
sealed interface GuiAction

Root of every action a frontend can dispatch to a GuiController - see ApplicationAction, WorkspaceAction, PageAction, and DocumentAction for the actual families.

Link copied to clipboard

The toolkit-neutral core of the application: consumes GuiActions and exposes the resulting GuiModel. Every frontend (Swing, web, ...) talks to exactly one of these and never touches solver/state internals directly.

Link copied to clipboard
sealed interface GuiEffect

A one-shot request the controller can't fulfil itself and hands off to the hosting platform (file dialogs, actual I/O, confirmation prompts, clipboard, process exit) - delivered via GuiModel.effects.

Link copied to clipboard
sealed interface GuiEvent

A discrete notification of something that just happened, broadcast via GuiModel.events - complementary to GuiModel.state (which always holds the latest truth even if an event is missed by a late subscriber).

Link copied to clipboard
interface GuiModel

The observable, read-only surface of a GuiController: current state plus the two ways it communicates changes to a frontend.

Link copied to clipboard
sealed interface PageAction : GuiAction

Actions scoped to one page: editing its query/scratch text/stdin/configuration, driving resolutions, and managing its history/panels.

Link copied to clipboard

How the user resolved a "reload this document from disk, discarding unsaved changes?" prompt.

Link copied to clipboard
sealed interface WorkspaceAction : GuiAction

Actions about the workspace as a whole: creating/opening/closing/selecting pages, rather than editing an existing one's content.