Package-level declarations

Types

Link copied to clipboard

Implemented by objects whose compatibility requires more nuance than just being of the same type.

Link copied to clipboard

A rendering type comprised of a set of other renderings.

Link copied to clipboard
class EnvironmentScreen<out C : Screen>(val content: C, val environment: ViewEnvironment = ViewEnvironment.EMPTY) : Wrapper<Screen, C> , Screen

Pairs a content rendering with a environment to support its display. Typically the rendering type (RenderingT) of the root of a UI workflow, but can be used at any point to modify the ViewEnvironment received from a parent view.

Link copied to clipboard
data class NamedScreen<out C : Screen>(val content: C, val name: String) : Screen, Wrapper<Screen, C>

Allows Screen renderings that do not implement Compatible themselves to be distinguished by more than just their type. Instances are compatible if they have the same name and have compatible fields.

Link copied to clipboard

Marker interface implemented by renderings that map to a UI system's 2d view class.

Link copied to clipboard

Helper class for keeping a workflow in sync with editable text in a UI, without interfering with the user's typing.

Link copied to clipboard

Immutable map of values that a parent view can pass down to its children. Allows containers to give descendants information about the context in which they're drawing.

Link copied to clipboard

Defines a value type T that can be provided by a ViewEnvironment map, and specifies its default value.

Link copied to clipboard

The ViewEnvironment service that can be used to display the stream of renderings from a workflow tree as View instances. This is the engine behind AndroidViewRendering, WorkflowViewStub and ViewFactory. Most apps can ignore ViewRegistry as an implementation detail, by using AndroidViewRendering to tie their rendering classes to view code.

Link copied to clipboard

Marks Workflow user interface APIs which are still in flux. Annotated code SHOULD NOT be used in library code or app code that you are not prepared to update when changing even minor workflow versions. Proceed with caution, and be ready to have the rug pulled out from under you.

Link copied to clipboard

A Container rendering that wraps exactly one other rendering, its content. These are typically used to "add value" to the content, e.g. an EnvironmentScreen that allows changes to be made to the ViewEnvironment.

Functions

Link copied to clipboard

Normally returns true if me and you are instances of the same class. If that common class implements Compatible, both instances must also have the same Compatible.compatibilityKey.

Link copied to clipboard
Link copied to clipboard

Combines the receiver with other. If there are conflicting entries, those in other are preferred.

Link copied to clipboard

Returns a new ViewEnvironment that adds registry to the receiver. If the receiver already has a ViewRegistry, ViewEnvironmentKey.combine is applied as usual to merge its entries.

Transforms the receiver to add all entries from other.

Transforms the receiver to add entry, throwing IllegalArgumentException if the receiver already has a matching entry. Use merge to replace an existing entry with a new one.

Link copied to clipboard

Create instance for default implementation of TextController.

Link copied to clipboard
Link copied to clipboard

Returns an EnvironmentScreen derived from the receiver, whose EnvironmentScreen.environment includes the values in the given environment.

Returns an EnvironmentScreen derived from the receiver, whose EnvironmentScreen.environment includes the given entry.

Link copied to clipboard