PanelContainerController

abstract class PanelContainerController<D, VM>(panelData: LiveData<out D?>)

A base class for managing the contents of a container of panels.

Implementations are responsible for visualising the panelData inside a container. See onPanelDataChanged for details.

This base class facilitates that by managing the internal lifecycle, the lifecycle of the Fragments for each attached panel and the panel stack.

Parameters

VM

The panel sub-container view model type.

Constructors

Link copied to clipboard
fun <D> PanelContainerController(panelData: LiveData<out D?>)

Types

Link copied to clipboard
class PanelSubContainerStateViewModel<S : PanelSubContainerState>(val subContainerStates: MutableList<S> = mutableListOf()) : ViewModel

A wrapper for a collection of sub-container states of type S. It is used to store the collection in ViewModel store. The collection can be loaded with the stateViewModel delegate.

Properties

Link copied to clipboard
open val subContainerViewModels: List<VM>

The panel sub-container view models.

Functions

Link copied to clipboard
fun bind(panelContainerViewContext: PanelContainerViewContext)

Binds this controller to the system UI with the given panelContainerViewContext. A controller may only be bound once and must be unbound through unbind when destroying the controller.

Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
open fun unbind()

Unbinds this controller from the system UI. The controller must have been bound through bind first.

Inheritors

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard